//package com.stylefeng.guns.crawlers.zgzc;
//
//import cn.wanghaomiao.seimi.annotation.Crawler;
//import cn.wanghaomiao.seimi.struct.Request;
//import cn.wanghaomiao.seimi.struct.Response;
//import com.stylefeng.guns.common.persistence.model.Game;
//import lombok.extern.slf4j.Slf4j;
//import org.apache.commons.lang3.StringUtils;
//import org.jsoup.nodes.Element;
//import org.seimicrawler.xpath.JXDocument;
//
//import java.util.HashMap;
//import java.util.List;
//import java.util.Map;
//
///**
// * 北单数据爬虫
// *
// * @author wuchong
// */
//@Slf4j
//@Crawler(name = "basketballCraw")
//public class BasketballCrawler extends BaseZgcpCrawler {
//
//    private static final long serialVersionUID = 6196564571998079909L;
//
//    /**
//     * @return 设置起始url
//     */
//    @Override
//    public String[] startUrls() {
//        return new String[]{ZGZCW + "lottery/bdplayvsforJsp.action?lotteryId=200&v=1224"};
//    }
//
//    /**
//     * 针对startUrl生成首批的response回调这个初始接口
//     *
//     * @param response --
//     */
//    @Override
//    public void start(Response response) {
//
//        JXDocument jxDocument = response.document();
//        // 对阵列表
//        List<Object> matchTrs = jxDocument.sel("//table[@class='mb']/tbody/tr");
//        // 已经爬取的北单mid
//        List<String> mids = getMids(CACHE_KEY);
//        for (Object object : matchTrs) {
//            Element element = (Element) object;
//            // 将tr数据转换为北单比赛内容
//            String mid = element.getElementsByClass("wh-10 b-l").get(0).attr("newplayid");
//            if (mids.contains(mid)) {
//                continue;
//            }
//            String title = element.attr("m");
//            if (isLeague(title)) {
//                String expire = element.attr("expire");
//                String zhud = element.getElementsByClass("wh-4 t-r").get(0).attr("tn");
//                String ked = element.getElementsByClass("wh-6 t-l").get(0).attr("tn");
//                String time;
//                if ("0".equals(expire)) {
//                    time = element.attr("t");
//                } else {
//                    time = element.getElementsByClass("wh-3").get(0)
//                            .getElementsByTag("span").get(2).attr("title");
//                    time = StringUtils.substringAfter(time, ":");
//                }
//                //实际比分
//                String actualScore = element.getElementsByClass("wh-5 bf").get(0).text();
//                Game game = Game.builder().mid(mid).zhud(zhud).ked(ked).title(title)
//                        .expire(expire).actualScore(actualScore).time(time).build();
//
//                // 请求元数据
//                Map<String, Object> map = new HashMap<>(4);
//                map.put("game", game);
//
//                // 爬取历史对阵数据
//                String historyUrl = FENGXI + mid + "/bsls";
//                Request hisRequest = Request.build(historyUrl, BasketballCrawler::parseAnalysis).setSkipDuplicateFilter(true);
//                hisRequest.setMeta(map);
//                // 发起请求
//                push(hisRequest);
//            }
//
//        }
//    }
//
//
//}
